// 从 TypeORM 库导入 Entity、Column、PrimaryGeneratedColumn 和 ManyToOne 装饰器，用于定义数据库实体和字段关系
import { Entity, Column, PrimaryGeneratedColumn, ManyToOne } from 'typeorm';
// 导入用户实体类，用于定义帖子与用户的关联关系
import { User } from '../../users/entities/user.entity';

/**
 * 帖子实体类，对应数据库中的帖子表
 */
@Entity()
export class Post {
  // 标记为主键，并自动生成唯一标识
  @PrimaryGeneratedColumn()
  id: number;

  // 标记为数据库表中的一列，存储帖子标题
  @Column()
  title: string;

  // 标记为数据库表中的一列，指定列类型为 text，存储帖子内容
  @Column('text')
  content: string;

  // 定义多对一关系，一个用户可以有多篇帖子
  @ManyToOne(() => User, user => user.id)
  // 帖子作者，关联到用户实体
  author: User;
}